import {
	createStore
} from 'vuex'

const store = createStore({
	state() {
		return {
			// 初始化用户信息
			userInfo: {},
			roles: [], //身份权限

		}
	},
	mutations: {
		// 设置用户信息
		setUserInfo(state, info) {
			state.userInfo = info
		},
		// 清空用户信息
		clearUserInfo(state) {
			state.userInfo = {}
		},
		setRoles(state, roles) {
			state.roles = roles // 存储到 Vuex 状态
			uni.setStorageSync('roles', roles) // 同时同步到本地存储（可选，防止刷新丢失）
		},
		// 新增：清空 roles（可选，退出登录时用）
		clearRoles(state) {
			state.roles = []
			uni.removeStorageSync('roles')
		},
		
	},
	actions: {
		loadUserInfo({
			commit
		}) {
			const storedInfo = uni.getStorageSync('userInfo')
			if (storedInfo) {
				commit('setUserInfo', JSON.parse(storedInfo))
			}
			// 新增：加载本地存储的 roles 到 Vuex（可选）
			const storedRoles = uni.getStorageSync('roles')
			if (storedRoles) {
				commit('setRoles', storedRoles)
			}
		}
	},
	getters: {
		// 获取用户信息
		getUserInfo: state => state.userInfo,
		getRoles: state => state.roles,
		
	}
})

export default store